package com.ev.k3cloud.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
public class K3CloudBillBatchSaveBaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "是否用编码搜索基础资料，布尔类型，默认true（非必录）")
    @JSONField(name="NumberSearch")
    private Boolean numberSearch;

    @ApiModelProperty(value = "是否验证标志，布尔类型，默认true（非必录）")
    @JSONField(name="ValidateFlag")
    private Boolean validateFlag;

    @ApiModelProperty(value = "是否删除已存在的分录，布尔类型，默认true（非必录）")
    @JSONField(name="IsDeleteEntry")
    private Boolean isDeleteEntry;

    @ApiModelProperty(value = "是否批量填充分录，默认true（非必录）")
    @JSONField(name="IsEntryBatchFill")
    private Boolean isEntryBatchFill;

    @ApiModelProperty(value = "需要更新的字段，数组类型，格式：[key1,key2,...] （非必录）注（更新单据体字段得加上单据体key）")
    @JSONField(name="NeedUpDateFields")
    private String[] needUpDateFields;

    @ApiModelProperty(value = "需返回结果的字段集合，数组类型，格式：[key,entitykey.key,...]（非必录） 注（返回单据体字段格式：entitykey.key）")
    @JSONField(name="NeedReturnFields")
    private String[] needReturnFields;

    @ApiModelProperty(value = "表单所在的子系统内码，字符串类型（非必录）")
    @JSONField(name="SubSystemId")
    private String subSystemId;

    @ApiModelProperty(value = "交互标志集合，字符串类型，分号分隔，格式：\"flag1;flag2;...\"（非必录） 例如（允许负库存标识：STK_InvCheckResult）")
    @JSONField(name="InterationFlags")
    private String interationFlags;

    @ApiModelProperty(value = "是否自动提交与审核，布尔类型，默认false（非必录） 注（启用此参数，保存，提交和审核是在一个事务中）")
    @JSONField(name="IsAutoSubmitAndAudit")
    private Boolean isAutoSubmitAndAudit;

    @ApiModelProperty(value = "服务端开启的线程数，整型（非必录） 注（数据包数应大于此值，否则无效）")
    @JSONField(name="BatchCount")
    private Integer batchCount;

    @ApiModelProperty(value = "表单数据包，JSON类型（必录）")
    @JSONField(name="Model")
    private Object[] model;

}
